package com.sharer.last.model.dto.blog;

import com.sharer.last.base.model.BaseDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 博客新增/更新入参封装
 *
 * @ClassName BlogChangeDTO
 * @Author WangJin
 * @Date 2023/06/09/16:03
 * @Description
 * @Version 1.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class BlogChangeDTO extends BaseDTO {
    private Long id;

    /**
     * 文章标题
     */
    @NotBlank(message = "文章标题不能为空")
    private String title;

    /**
     * 文章首图，用于随机文章展示
     */
    @NotBlank(message = "文章首图不能为空")
    private String firstPicture;

    /**
     * 文章正文
     */
    @NotBlank(message = "文章正文不能为空")
    private String content;

    /**
     * 描述
     */
    @NotBlank(message = "描述不能为空")
    private String description;

    /**
     * 文章字数
     */
    @NotNull(message = "文章字数不能为空")
    private Integer words;

    /**
     * 公开或私密 1:公开的 2：私有的 3:密码保护
     */
    private Integer showPermission;

    /**
     * 推荐开关
     */
    private Integer isRecommend;

    /**
     * 赞赏开关
     */
    private Integer isAppreciation;

    /**
     * 评论开关
     */
    private Integer isCommentEnabled;

    /**
     * 是否置顶
     */
    private Integer isTop;

    /**
     * 浏览次数
     */
    private Integer views;

    /**
     * 阅读时长(分钟)
     */
    private Integer readTime;

    /**
     * 密码保护
     */
    private String password;

    /**
     * 文章分类
     */
    @NotBlank(message = "文章分类不能为空")
    private String categoryName;

    /**
     * 标签集合
     */
    private List<String> tagList;
}
